home *** CD-ROM | disk | FTP | other *** search
- /*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
- #include <stdio.h>
- #include <rpc/rpc.h>
- #define _RPCGEN_SVC
- #include "rminfo.h"
-
- static void rminfoprog_1(struct svc_req *, SVCXPRT *);
-
- main(void)
- {
- register SVCXPRT *transp;
-
- (void) pmap_unset(RMINFOPROG, RMINFOVERS);
-
- transp = svcudp_create(RPC_ANYSOCK);
- if (transp == NULL) {
- fprintf(stderr, "cannot create udp service.");
- exit(1);
- }
- if (!svc_register(transp, RMINFOPROG, RMINFOVERS, rminfoprog_1, IPPROTO_UDP)) {
- fprintf(stderr, "unable to register (RMINFOPROG, RMINFOVERS, udp).");
- exit(1);
- }
-
- transp = svctcp_create(RPC_ANYSOCK, 0, 0);
- if (transp == NULL) {
- fprintf(stderr, "cannot create tcp service.");
- exit(1);
- }
- if (!svc_register(transp, RMINFOPROG, RMINFOVERS, rminfoprog_1, IPPROTO_TCP)) {
- fprintf(stderr, "unable to register (RMINFOPROG, RMINFOVERS, tcp).");
- exit(1);
- }
-
- svc_run();
- fprintf(stderr, "svc_run returned");
- exit(1);
- /* NOTREACHED */
- }
-
- static void
- rminfoprog_1(struct svc_req *rqstp, SVCXPRT *transp)
- {
- union __svcargun {
- int fill;
- } argument;
- xdrproc_t xdr_argument, xdr_result;
- void *result;
- typedef void *(*__svcproc_t)(union __svcargun *, struct svc_req *);
- __svcproc_t local;
-
- switch (rqstp->rq_proc) {
- case NULLPROC:
- (void) svc_sendreply(transp, xdr_void, (char *)NULL);
- return;
-
- case RMINFOPROC_GET:
- xdr_argument = xdr_void;
- xdr_result = xdr_rminfo1;
- local = (__svcproc_t) rminfoproc_get_1;
- break;
-
- default:
- svcerr_noproc(transp);
- return;
- }
- bzero((char *)&argument, sizeof(argument));
- if (!svc_getargs(transp, xdr_argument, &argument)) {
- svcerr_decode(transp);
- return;
- }
- result = (*local)(&argument, rqstp);
- if (result != NULL && !svc_sendreply(transp, xdr_result, result)) {
- svcerr_systemerr(transp);
- }
- if (!svc_freeargs(transp, xdr_argument, &argument)) {
- fprintf(stderr, "unable to free arguments");
- exit(1);
- }
- return;
- }
-